1. Field of the Invention
The present invention relates to autonomic computing systems, and more specifically to a system and method for defining programmatic policies in a policy driven autonomic computing system.
2. Description of Related Art
With the proliferation of computer systems in everyday life, our reliance on the availability of these systems has become increasingly evident. Today, computer systems control everything from our bank and commerce systems, to educational and health records, and even our entire power grids. The need for redundancy and robustness for these systems grows ever apparent. This need has given rise to a new class of computer system known as high availability systems. Typically, these systems are structured with varying degrees of redundancy that can be configured by an administrator.
In traditional administrative environments, reactions to events are either driven by system operators reacting in real time, or by a very limited set of automation actions which must be predefined for each event that may occur. Traditional solutions generally fail to address the real world complexities in that it is difficult to impossible to predefine all of the events that may occur and the actions to be taken for them—especially when one considers that sequences of events may occur which need to be reacted to. This generally creates an intractable exploding network of potential events, one proceeding from the other, all of which must be accounted for through defined actions.
There are some automated high availability products which encompass some limited state driven knowledge where a set of resources is managed with the simple rule that all must be active or none are. However, the relationships of these resources are not defined and the actions to be taken are all scripted for a given event. Other known solutions have limited definitional characteristics in that dependency relationships for ordering start/restart may be defined but the full generality is not specifiable. In these systems, the administrator must predict and program a response for every situation that may arise. Of course, it is almost impossible to consider every scenario in a complex system, much less to program a response for every condition. So, it is often the case with these systems that they will default to a shut down mode when not all the resources are available. This downtime presents a serious problem to users who rely on the robustness of a system and generally requires human intervention in order to correct.
Therefore a need exists to overcome the problems with the prior art as discussed above, and particularly for a method of defining programmatic policies in an autonomic computing system.